package com.gjy.scala.flow

import scala.io.StdIn

/** *
 *
 *
 * 作业2：
 * 请按如下要求编写java程序,打印菜单:
 *
 * 1.从键盘上录入一个1到5的数字;
 *
 * 2.当数字为1时打印菜单"新建";
 *
 * 当数字为2时打印菜单"打开文件";
 *
 * 当数字为3时打印菜单"保存";
 *
 * 当数字为4时打印菜单"刷新";
 *
 * 当数字为5时打印菜单"退出",并退出程序;
 *
 * 此行代码可以终止java程序运行: System.exit(0);
 *
 *
 *
 */

object SwitchControlTask {
  def main(args: Array[String]): Unit = {
    // 1. 从键盘上录入一个1到5的数字
    // 2. 使用模式匹配来处理不同的输入
    var input = 0
    while (input != 5) {
      println("请输入一个1到5的数字：")
      // 读取输入
      val inputStr = StdIn.readLine()
      // 检查输入是否为空
      if (inputStr.isEmpty) {
        println("输入不能为空，请重新输入：")
      } else {
        // 尝试将输入转换为整数
        try {
          input = inputStr.toInt
          // 检查输入是否在1到5之间
          if (input < 1 || input > 5) {
            println("无效输入，请输入1到5之间的数字")
          } else {
            input match {
              case 1 => println("新建")
              case 2 => println("打开文件")
              case 3 => println("保存")
              case 4 => println("刷新")
              case 5 =>
                println("退出")
//                System.exit(0)
              case _ => println("无效输入，请输入1到5之间的数字")
            }
          }
        }
        catch {
          // 如果转换失败，提示用户输入无效
          case _: NumberFormatException => println("无效输入，请输入一个整数")
        }
      }
    }
  }
}
